package com.yidu.hbatsams.utils;

import org.springframework.stereotype.Component;
import org.springframework.web.multipart.MultipartFile;

import javax.annotation.Resource;
import java.io.File;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.UUID;
@Component
public class UploadsTools {
    @Resource
    private Config config;

    public String fileUpload(MultipartFile file) throws IOException {
        //获取用户提交文件名
        String fileName = file.getOriginalFilename();
       //获取name元素
        String name = file.getName();
        System.out.println("name="+name);
        System.out.println("filename="+fileName);
        //开始将用户上传的文件保存到对应的盘符中去
        //动态生成文件名---》UUID（生成全球唯一对应的标识符，网卡好+时间戳）
        String randomUUID = UUID.randomUUID().toString();
        //获取最后一个标点，取后缀
        int index = fileName.lastIndexOf(".");
        String str = fileName.substring(index);
        //根据系统时间生成对应的文件夹
        Date date = new Date();
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMdd//HH//mm//ss");
        String dataStr = simpleDateFormat.format(date);
        //文件路径
        String filePath = "D:\\uploads\\"+dataStr;
        //文件创建
        File files = new File(filePath);
        //判断文件是否存在
        if(!files.exists()){
            files.mkdirs();
        }
        filePath = "\\"+randomUUID+str;
        file.transferTo(new File(filePath));
        return config.getPath()+""+filePath;
    }
}
